2976d4ead7712815eefb3ee1185fada0e8f5915f,bparser/src/main/java/de/be4/classicalb/core/parser/analysis/transforming/rules/RuleTransformation.java,RuleTransformation,addToStringDefinition,#,616
Before Change
toStringTypeDef.setName(new TIdentifierLiteral("EXTERNAL_FUNCTION_TO_STRING"));
toStringTypeDef.setParameters(createIdentifierList("X"));
toStringTypeDef.setRhs(new ATotalFunctionExpression(createIdentifier("X"), new AStringSetExpression()));
definitions.addDefinition(toStringTypeDef, IDefinitions.Type.Expression);
}
private void addChooseDefinition() {
After Change
private void addToStringDefinition() {
final String TO_STRING = "TO_STRING";
if (definitions.containsDefinition(TO_STRING)) {
return;
}
// TO_STRING(S) == "0";
// EXTERNAL_FUNCTION_TO_STRING(X) == (X --> STRING);
AExpressionDefinitionDefinition toStringDef = new AExpressionDefinitionDefinition();
toStringDef.setName(new TIdentifierLiteral(TO_STRING));
toStringDef.setParameters(createIdentifierList("S"));
toStringDef.setRhs(new AStringExpression(new TStringLiteral("0")));
try {
definitions.addDefinition(toStringDef, IDefinitions.Type.Expression);
} catch (CheckException | BException e) {
throw new VisitorException(e);
}
AExpressionDefinitionDefinition toStringTypeDef = new AExpressionDefinitionDefinition();
toStringTypeDef.setName(new TIdentifierLiteral("EXTERNAL_FUNCTION_TO_STRING"));
toStringTypeDef.setParameters(createIdentifierList("X"));
toStringTypeDef.setRhs(new ATotalFunctionExpression(createIdentifier("X"), new AStringSetExpression()));
try {
definitions.addDefinition(toStringTypeDef, IDefinitions.Type.Expression);
} catch (CheckException | BException e) {
throw new VisitorException(e);
}
}